package css590.dataminer.core;

import css590.dataminer.core.contracts.*;

public abstract class Miner {

	private String UrlServer;
	private UserNamePasswordCredential Credential;
	private IDataFormatter Formatter;

	public Miner(IDataFormatter formatter) {
		this.setFormatter(formatter);
	}
	
	public void setCredential(UserNamePasswordCredential credential) {
		Credential = credential;
	}

	protected UserNamePasswordCredential getCredential() {
		return Credential;
	}

	public void setUrlServer(String urlServer) {
		UrlServer = urlServer;
	}

	protected String getUrlServer() {
		return UrlServer;
	}

	public abstract void execute();

	/**
	 * @param formatter
	 *            the formatter to set
	 */
	public void setFormatter(IDataFormatter formatter) {
		Formatter = formatter;
	}

	/**
	 * @return the formatter
	 */
	protected IDataFormatter getFormatter() {
		return Formatter;
	}
}
